#include <iostream>
using namespace std;

// class A
// {
// public:
//     void func(){}
// protected:
//     int _a1;
//     int _a2;
// };

// class B
// {
// protected:
//     A _a;
//     int b;
// };

// class C : public A
// {
// protected:  
//     int _c;
// };

// int main()
// {

//     return 0;
// }

class Person
{
public:
    virtual void BuyTicket(){ cout << "买票-全价" << endl; }
};

class Student : public Person
{
public:
    virtual void BuyTicket(){ cout << "买票-半价" << endl; }
};

void func(Person& p)
{
    p.BuyTicket();
}

int main()
{
    Person p;
    Student s;
    func(p);
    func(s);
    return 0;
}

